package org.jeecg.modules.bus.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 商务管理(项目信息跟踪)
 * @Author: jeecg-boot
 * @Date:   2022-11-07
 * @Version: V1.0
 */
@Data
@TableName("bus_pro_inf_track")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bus_pro_inf_track对象", description="商务管理(项目信息跟踪)")
public class BusProInfTrack implements Serializable {
    private static final long serialVersionUID = 1L;

    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
    /**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
    /**项目id*/
    @Excel(name = "项目id", width = 15)
    @ApiModelProperty(value = "项目id")
    private String proId;
    /**项目名称*/
    @Excel(name = "项目名称", width = 15)
    @ApiModelProperty(value = "项目名称")
    private String proName;
    /**业主单位*/
    @Excel(name = "业主单位", width = 15, dictTable = "bus_client_data", dicText = "cli_name", dicCode = "id")
    @Dict(dictTable = "bus_client_data", dicText = "cli_name", dicCode = "id")
    @ApiModelProperty(value = "业主单位")
    private String cliNameId;
    /**获取信息时间*/
    @Excel(name = "获取信息时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "获取信息时间")
    private Date expatriateTime;
    /**项目概况*/
    @Excel(name = "项目概况", width = 15)
    @ApiModelProperty(value = "项目概况")
    private String proProfile;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String note;
    /**信息跟踪负责人*/
    @Excel(name = "信息跟踪负责人", width = 15)
    @ApiModelProperty(value = "信息跟踪负责人")
    private String infoMan;
    /**项目风险id*/
    @Excel(name = "项目风险id", width = 15)
    @ApiModelProperty(value = "项目风险id")
    private String riskId;
    /**原数据id*/
    @Excel(name = "原数据id", width = 15)
    @ApiModelProperty(value = "原数据id")
    private String oriId;
    /**预估金额*/
    @Excel(name = "预估金额", width = 15)
    @ApiModelProperty(value = "预估金额")
    private String estimatedAmount;
    /**单项项目金额*/
    @Excel(name = "单项项目金额", width = 15)
    @ApiModelProperty(value = "单项项目金额")
    private String sinProAmount;
    /**业务类型*/
    @Excel(name = "业务类型", width = 15)
    @ApiModelProperty(value = "业务类型")
    private String serviceType;
    /**业务板块*/
    @Excel(name = "业务板块", width = 15)
    @ApiModelProperty(value = "业务板块")
    private String busSection;
    /**项目所在省份*/
    @Excel(name = "项目所在省份", width = 15)
    @ApiModelProperty(value = "项目所在省份")
    private String proProvince;
    /**信息跟踪责任部门*/
    @Excel(name = "信息跟踪责任部门", width = 15)
    @ApiModelProperty(value = "信息跟踪责任部门")
    private String infoResDep;
    /**当前进度*/
    @Excel(name = "当前进度", width = 15)
    @ApiModelProperty(value = "当前进度")
    private String currentProgress;
    /**项目编码*/
    @Excel(name = "项目编码", width = 15)
    @ApiModelProperty(value = "项目编码")
    private String proNumber;
    /**所属单位*/
    @Excel(name = "所属单位", width = 15)
    @ApiModelProperty(value = "所属单位")
    private String company;
    /**责任部门*/
    @Excel(name = "责任部门", width = 15)
    @ApiModelProperty(value = "责任部门")
    private String responsibleDepart;
    /**项目类型*/
    @Excel(name = "项目类型", width = 15)
    @ApiModelProperty(value = "项目类型")
    private String proType;
    /**项目阶段*/
    @Excel(name = "项目阶段", width = 15)
    @ApiModelProperty(value = "项目阶段")
    private String proStage;
    /**所属板块*/
    @Excel(name = "所属板块", width = 15)
    @ApiModelProperty(value = "所属板块")
    private String proBoard;
    /**运作方式*/
    @Excel(name = "运作方式", width = 15)
    @ApiModelProperty(value = "运作方式")
    private String operationMethod;
    /**项目资金来源*/
    @Excel(name = "项目资金来源", width = 15)
    @ApiModelProperty(value = "项目资金来源")
    private String fundSource;
    /**项目分管领导4A账号*/
    @Excel(name = "项目分管领导4A账号", width = 15)
    @ApiModelProperty(value = "项目分管领导4A账号")
    private String proLeader4a;
    /**项目分管领导姓名*/
    @Excel(name = "项目分管领导姓名", width = 15)
    @ApiModelProperty(value = "项目分管领导姓名")
    private String proLeader;
    /**项目经理4A账号*/
    @Excel(name = "项目经理4A账号", width = 15)
    @ApiModelProperty(value = "项目经理4A账号")
    private String manager4a;
    /**项目经理*/
    @Excel(name = "项目经理", width = 15)
    @ApiModelProperty(value = "项目经理")
    private String manager;
    /**主管会计姓名*/
    @Excel(name = "主管会计姓名", width = 15)
    @ApiModelProperty(value = "主管会计姓名")
    private String chiefAccount;
    /**主管会计4A账号*/
    @Excel(name = "主管会计4A账号", width = 15)
    @ApiModelProperty(value = "主管会计4A账号")
    private String chiefAccount4a;
    /**所属国家*/
    @Excel(name = "所属国家", width = 15)
    @ApiModelProperty(value = "所属国家")
    private String country;
    /**项目说明*/
    @Excel(name = "项目说明", width = 15)
    @ApiModelProperty(value = "项目说明")
    private String proDescrip;
    /**立项日期*/
    @Excel(name = "立项日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "立项日期")
    private Date startTime;
    /**核算方式*/
    @Excel(name = "核算方式", width = 15)
    @ApiModelProperty(value = "核算方式")
    private String accountMethod;
    /**计税方式*/
    @Excel(name = "计税方式", width = 15)
    @ApiModelProperty(value = "计税方式")
    private String taxCalcMethod;
    /**预计总收入（元）*/
    @Excel(name = "预计总收入（元）", width = 15)
    @ApiModelProperty(value = "预计总收入（元）")
    private String estiTotalIncome;
    /**预计总成本（元）*/
    @Excel(name = "预计总成本（元）", width = 15)
    @ApiModelProperty(value = "预计总成本（元）")
    private String estiTotalCost;
    /**是否为党和国家领导人见签项目*/
    @Excel(name = "是否为党和国家领导人见签项目", width = 15)
    @ApiModelProperty(value = "是否为党和国家领导人见签项目")
    private String isLeaderMeeting;
    /**是否援建项目*/
    @Excel(name = "是否援建项目", width = 15)
    @ApiModelProperty(value = "是否援建项目")
    private String isAid;
    /**是否列入“一带一路”项目库编号*/
    @Excel(name = "是否列入“一带一路”项目库编号", width = 15)
    @ApiModelProperty(value = "是否列入“一带一路”项目库编号")
    private String isBeltAndRoad;
    /**是否为我国与周边国家互联互通项目*/
    @Excel(name = "是否为我国与周边国家互联互通项目", width = 15)
    @ApiModelProperty(value = "是否为我国与周边国家互联互通项目")
    private String isInterConnected;
    /**是否为第三国（地）合作项目*/
    @Excel(name = "是否为第三国（地）合作项目", width = 15)
    @ApiModelProperty(value = "是否为第三国（地）合作项目")
    private String isThirdPartyCoop;
    /**项目基础币种*/
    @Excel(name = "项目基础币种", width = 15)
    @ApiModelProperty(value = "项目基础币种")
    private String currency;
    /**项目状态*/
    @Excel(name = "项目状态", width = 15)
    @ApiModelProperty(value = "项目状态")
    private String proStatus;
    /**是否联营体*/
    @Excel(name = "是否联营体", width = 15)
    @ApiModelProperty(value = "是否联营体")
    private String isAssociatedBody;
    /**标识公司名称（由接口方提供）*/
    @Excel(name = "标识公司名称（由接口方提供）", width = 15)
    @ApiModelProperty(value = "标识公司名称（由接口方提供）")
    private String creatorName;
    /**传数据的主键值*/
    @Excel(name = "传数据的主键值", width = 15)
    @ApiModelProperty(value = "传数据的主键值")
    private String syncSysid;
    /**地址*/
    @Excel(name = "地址", width = 15)
    @ApiModelProperty(value = "地址")
    private String proAddress;
}
